package com.lichuang.fruitvarietysm.user.util;

import java.util.regex.Pattern;

/**
 * 验证的工具类
 */
public class ValidatorUtil {

    /**
     * 正则表达式：邮箱
     */
    private static final String REGEX_EMAIL = "[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+";

    /**
     * 正则表达式：验证手机号
     */
    public static final String REGEX_PHONE = "^((17[0-9])|(14[0-9])|(13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$";

    /**
     * 正则表达式：验证密码
     */
    public static final String REGEX_PASSWORD = "^[a-zA-Z0-9]{6,20}$";

    /**
     * 正则表达式：验证汉字
     */
    public static final String REGEX_CHINESE = "^[\u4e00-\u9fa5],{0,}$";

    /**
     * 正则表达式：验证身份证
     */
    public static final String REGEX_ID_CARD = "(^\\d{18}$)|(^\\d{15}$)";

    /**
     * 正则表达式：验证URL
     */
    public static final String REGEX_URL = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";

    /**
     * 正则表达式：验证IP地址
     */
    public static final String REGEX_IP_ADDR = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";

    /**
     * 校验EMAIL格式
     * @param email
     * @return true为格式正确，false为格式错误
     */
    public static boolean emailMatches(String email) {
        return email.matches(REGEX_EMAIL);
    }

    /**
     * 校验手机号
     * @param phone
     * @return true为格式正确，false为格式错误
     */
    public static boolean phoneMatches(String phone){
        return phone.matches(REGEX_PHONE);
    }

}
